package io.datajek.springbasics.movierecommendersystem.lesson7;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;

import java.util.Arrays;

@SpringBootApplication
public class MovieRecommenderSystemApplication {

	public static void main(String[] args) {
		//applicationcontext负责管理Bean和依赖关系
		ApplicationContext appContext = SpringApplication.run(MovieRecommenderSystemApplication.class,args);
		//使用ApplicationContext来查找正在使用的过滤器
		//recommenderimplementtation使用构造函数注入依赖关系
		System.out.println("\n************************************************************");
		System.out.println("Calling getBean() on RecommenderImplementation");

		RecommenderImplementation recommender = appContext.getBean(RecommenderImplementation.class);
		//调用方法来获得推荐
		String[] result = recommender.recommendMovies("Finding Dory");
		//显示结果
		System.out.println(Arrays.toString(result));

		//RecommenderImplementation2使用setter方法注入依赖方法
		System.out.println("\n************************************************************");
		System.out.println("Calling getBean() on RecommenderImplementation");

		RecommenderImplementation2 recommender2 = appContext.getBean(RecommenderImplementation2.class);
	    result = recommender2.recommendMovies("Finding Dory");

		System.out.println(Arrays.toString(result));

	}

}
